package pe.edu.sistemas.postgrado.samupg.domain.model;
// Generated 25/10/2012 08:03:12 PM by Hibernate Tools 3.2.1.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Comentario generated by hbm2java
 */
@Entity
@Table(name = "comentario", catalog = "bd_samupg")
public class Comentario implements java.io.Serializable {

    private Integer comentarioId;
    private Correo correo;
    private Publicacion publicacion;
    private String comentarioTexto;
    private Date comentarioFecha;
    private Date comentarioHora;
    private Boolean anonimo;

    public Comentario() {
    }

    public Comentario(Correo correo) {
        this.correo = correo;
    }

    public Comentario(Correo correo, Publicacion publicacion, String comentarioTexto, Date comentarioFecha, Date comentarioHora, int correoCorreoId) {
        this.correo = correo;
        this.publicacion = publicacion;
        this.comentarioTexto = comentarioTexto;
        this.comentarioFecha = comentarioFecha;
        this.comentarioHora = comentarioHora;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "comentario_id", unique = true, nullable = false)
    public Integer getComentarioId() {
        return this.comentarioId;
    }

    public void setComentarioId(Integer comentarioId) {
        this.comentarioId = comentarioId;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "comentario_publicacion_id", nullable = false)
    public Publicacion getPublicacion() {
        return this.publicacion;
    }

    public void setPublicacion(Publicacion publicacion) {
        this.publicacion = publicacion;
    }

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "comentario_correo_id", nullable = false)
    public Correo getCorreo() {
        return this.correo;
    }

    public void setCorreo(Correo correo) {
        this.correo = correo;
    }

    @Column(name = "comentario_texto", length = 500)
    public String getComentarioTexto() {
        return this.comentarioTexto;
    }

    public void setComentarioTexto(String comentarioTexto) {
        this.comentarioTexto = comentarioTexto;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "comentario_fecha", length = 10)
    public Date getComentarioFecha() {
        return this.comentarioFecha;
    }

    public void setComentarioFecha(Date comentarioFecha) {
        this.comentarioFecha = comentarioFecha;
    }

    @Temporal(TemporalType.TIME)
    @Column(name = "comentario_hora", length = 8)
    public Date getComentarioHora() {
        return this.comentarioHora;
    }

    public void setComentarioHora(Date comentarioHora) {
        this.comentarioHora = comentarioHora;
    }

    @Column(name="comentario_anonimo")
    public Boolean getAnonimo() {
        return anonimo;
    }

    public void setAnonimo(Boolean anonimo) {
        this.anonimo = anonimo;
    }
}
